Image processing apparatus and image processing method

ABSTRACT

An object is to provide a user with various options on a processing method of an original document including a code image. To accomplish the object, the image processing apparatus includes a decoding section for extracting information by decoding the code image contained in the original document image, and a decision section for making a decision according to selection of the user as to whether to output the original document image or the information extracted by the decoding section.

CROSS REFERENCE TO RELATED APPLICATION

This is a continuation of and claims priority from U.S. patentapplication Ser. No. 12/039,383 filed Feb. 28, 2008, the content ofwhich is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an image processing apparatus and imageprocessing method capable of handling a code image.

2. Description of the Related Art

Attempts to utilize paper as a medium of digital data have come to bemade by generating a code image by encoding information like digitaldata using an encoding means like a bar code, and by printing the codeimage on the paper.

To extract the original information from the paper on which the codeimage is printed, the code image printed on the paper is read by anoptical reading means like a scanner, and the original information isextracted by decoding the code image.

An example of such a system is disclosed in Japanese Patent Laid-OpenNo. 2005-63454.

In addition, Japanese Patent Laid-Open No. 2004-303223 describes that apassword system is applicable for the security at the decoding.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments (with reference to theattached drawings).

SUMMARY OF THE INVENTION

Thus, Japanese Patent Laid-Open Nos. 2005-63454 and 2004-303223 describetechnology for improving the convenience of a user who needs informationin the code image.

In practice, however, there are not only users who need information inthe code image, but also users who need image information about theentire original document image including the code image.

The foregoing Japanese Patent Laid-Open Nos. 2005-63454 and 2004-303223,however, lack perspective on the latter case, that is, the convenienceof the user, thereby impairing the convenience of the user.

To solve the foregoing problem, the image processing apparatus inaccordance with the present invention is characterized by having adecoding means for extracting information by decoding a code imagecontained in an original document image; and a decision means for makinga decision according to selection of a user as to whether to output theoriginal document image or the information extracted by the decodingmeans.

The foregoing means in accordance with the present invention can providethe user with an easy to use apparatus capable of decoding the codeimage.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing an outline of an image processing apparatusin accordance with the present invention;

FIG. 2 is an exterior view of input/output devices of the image formingapparatus;

FIG. 3 is a block diagram showing an outline of the image formingapparatus;

FIG. 4 is a schematic diagram illustrating tile data;

FIG. 5 is a block diagram showing a scanner image processing section;

FIG. 6 is a block diagram showing a printer image processing section;

FIG. 7 is a diagram showing a copy screen of an operating section;

FIG. 8 is a diagram showing a subdialogue on the copy screen;

FIG. 9 is a diagram showing an original document image processing methodselecting section;

FIG. 10 is a diagram showing a display example of the subdialogue on thecopy screen;

FIG. 11 is a diagram showing a display example of the subdialogue on thecopy screen in the case of having no access right;

FIG. 12 is a diagram showing another embodiment of the image formingapparatus in accordance with the present invention;

FIG. 13 is a diagram showing a display example of the subdialogue usingan external rendering;

FIG. 14 is a flowchart illustrating decoding and reencoding processing;

FIG. 15 is a flowchart illustrating another embodiment of the displaycontrol processing of the subdialogue;

FIG. 16 is a flowchart illustrating processing of checking the accessright using an external policy server;

FIG. 17 is a schematic diagram showing a memory map of a CD-ROM, anexample of a storage medium; and

FIG. 18 is a flowchart illustrating control operation of the imageprocessing apparatus in accordance with the present invention.

DESCRIPTION OF THE EMBODIMENTS

The best mode for implementing the present invention will now bedescribed with reference to the accompanying drawings.

Embodiment 1 <Image Processing System (FIG. 1)>

An embodiment 1 will be described in detail below with reference to thedrawings. FIG. 1 is a block diagram showing the image processingapparatus of an embodiment in accordance with the present invention. Thefollowing is a detailed description of FIG. 1.

The image processing system as shown in FIG. 1 has a host computer 40and three image forming apparatuses 10, 20 and 30 connected to a LAN 50.The image processing system in accordance with the present invention,however, is not limited to these numbers of devices connected. Inaddition, although the present embodiment employs the LAN as aconnecting method, it is not limited to that. For example, any networkssuch as a WAN (public network), serial transmission systems such as aUSB, and parallel transmission systems such as a Centronics interfaceand SCSI are applicable.

A host computer (called “PC” from now on) 40 has functions of a personalcomputer. In addition, the PC 40 can transmit and receive a file ore-mail via the LAN 50 or WAN using FTP or SMB protocol. Furthermore, thePC 40 can issue a printing instruction to the image forming apparatus10, 20 or 30 via a printer driver.

The image forming apparatuses 10 is same as the image forming apparatus20. The image forming apparatus 30, which is an image forming apparatushaving only a printing function, does not have a scanner section theimage forming apparatus 10 or 20 has. In the following description, theimage forming apparatus 10 in the image forming apparatuses 10 and 20will be described in detail with placing the focusing on it for the sakeof simplicity.

The image forming apparatus 10 comprises a scanner section 13, a printersection 14, a controller (Controller Unit) 11, and an operating section12. Here, the scanner section 13 is an image input device, and theprinter section 14 is an image output device. The controller (ControllerUnit) 11 controls the operation of the image forming apparatus 10 in itsentirety, and the operating section 12 constitutes a user interface(UI).

Incidentally, the term “image processing apparatus” in the presentspecification refers to an apparatus capable of carrying out imageprocessing (such as the controller 11).

<Image Forming Apparatus 10 (FIG. 2)>

FIG. 2 shows an external appearance of the image forming apparatus 10.The following is a detailed description about FIG. 2.

The scanner section 13 converts image information into an electricsignal by inputting to a CCD the reflected light obtained by performingexposure scanning of the image on an original document. The scannersection 13 further converts the electric signal to a luminance signalconsisting of R, G, and B colors, and supplies the luminance signal tothe controller 11 as image data.

The original document is placed on a tray 202 of a document feeder 201.When a user instructs to start reading from the operating section 12,the controller 11 gives the scanner section 13 an original document readcommand. Receiving the command, the scanner section 13 feeds theoriginal document one by one from the tray 202 of the document feeder201, and reads the original document. As for the reading method of theoriginal document, instead of the automatic feeding method using thedocument feeder 201, a method is also possible which scans the originaldocument by placing it on a glass plate not shown and by moving anexposure section.

The printer section 14 is an image forming device for forming image datareceived from the controller 11 on paper. In the present embodiment,although the image forming system consists of an electrophotographicsystem using a photoconductive drum or a photoconductive belt, thepresent invention is not limited to it. For example, an ink-jet systemis also applicable which expels inks from a minute nozzle array to printon paper. The printer section 14 includes a plurality of paper cassettes203, 204, and 205, which enable selection of a different paper size ordifferent paper direction. A paper output tray 206 receives paper afterprinting.

In FIG. 1, the image forming apparatus 20 comprises a scanner section23, a printer section 24, a controller (Controller Unit) 21, and anoperating section 22. Here, the scanner section 23 is an image inputdevice, and the printer section 24 is an image output device. Inaddition, the controller (Controller Unit) 21 controls the operation ofthe image forming apparatus 20 in its entirety, and the operatingsection 22 constitutes a user interface (UI).

In FIG. 1, the image forming apparatus 30 comprises a printer section33, a controller (Controller Unit) 31, and an operating section 32.Here, the printer section 33 is an image output device. In addition, thecontroller (Controller Unit) 31 controls the operation of the imageforming apparatus 30 in its entirety, and the operating section 32constitutes a user interface (UI).

<Detailed Description of Controller 11 (FIG. 3)>

FIG. 3 is a block diagram for describing the controller 11 of the imageforming apparatus 10 in more detail. The following is a detaileddescription about FIG. 3.

The controller 11 is electrically connected to the scanner section 13and printer section 14 on one hand, and to the PC 40 or externalapparatus via the LAN 50 or WAN 331 on the other hand. This enables theinput and output of the image data and device information.

A CPU 301 achieves centralized control of accesses to individual devicesconnected thereto according to control programs and the like stored in aROM 303, and centralized control of various processings carried outinside the controller 11. A RAM 302, which is a system work memory forthe CPU 301 to operate, is also a memory for temporarily storing imagedata. The RAM 302 consists of a SRAM that retains the stored contentsafter the power off and a DRAM whose contents are erased after the poweroff. The ROM 303 stores a boot program and the like of the apparatus. AnHDD 304 is a hard disk drive capable of storing system software andimage data.

In the following description of the embodiments, the term “box” or “boxsave” refers to saving information to a storage medium such as the HDD304 to enable printing or transmission when a user issues an instructionlater.

An operating section I/F 305 is an interface for connecting a system bus310 and the operating section 12. The operating section I/F 305 receivesthe image data to be displayed on the operating section 12 from thesystem bus 310 and supplies it to the operating section 12, and suppliesthe information input from the operating section 12 to the system bus310.

A network I/F 306 is connected between the LAN 50 and the system bus 310to perform input and output of information. A modem 307 is connectedbetween the WAN 331 and the system bus 310 to perform input and outputof information. A binary image rotating section 308 converts thedirection of the image data before transmission. A binary imagecompression/decompression section 309 converts the resolution of theimage data before transmission to a prescribed resolution or to aresolution matching the capacity of a party. The compression anddecompression are carried out using a JBIG, MMR, MR or MH system. Animage bus 330, which is a transmission line for exchanging the imagedata, includes a PCI bus or IEEE 1394.

A scanner image processing section 312 carries out correction,processing and editing of the image data received from the scannersection 13 via a scanner I/F 311. Besides, the scanner image processingsection 312 makes a decision on whether the received image data is acolor original document or a black-and-white original document, or atext original document or a photographic original document. Then, itattaches the decision result to the image data. Such collateralinformation is referred to as attribute data. Details of the processingthe scanner image processing section 312 performs will be describedlater.

A compressing section 313 receives the image data, and divides the imagedata to blocks each consisting of 32 pixels×32 pixels. Each 32×32 pixelimage data is referred to as tile data.

FIG. 4 schematically illustrates the tile data. On the original document(paper medium before reading), each region corresponding to the tiledata is referred to as a tile image. To the tile data, average luminanceinformation in the 32×32 pixel block and the coordinate position of thetile image on the original document are added as header information. Inaddition, the compressing section 313 compresses the image dataconsisting of a plurality of tile data. A decompressing section 316decompresses the image data consisting of a plurality of tile data, andthen develops into a raster, and delivers it to a printer imageprocessing section 315.

The printer image processing section 315 receives the image datadelivered from the decompressing section 316, and performs imageprocessing on the image data with referring to the attribute dataannexed to the image data. The image data passing through the imageprocessing is supplied to the printer section 14 via a printer I/F 314.Details of the processing carried out by the printer image processingsection 315 will be described later.

An image converting section 317 performs prescribed convertingprocessing on the image data. The processing section comprises thefollowing processing sections.

A decompressing section 318 decompresses the received image data. Acompressing section 319 compresses the received image data. A rotatingsection 320 rotates the received image data. A scaling section 321performs resolution converting processing (from 600 dpi to 200 dpi, forexample) of the received image data. A color space converting section322 converts the color space of the received image data. The color spaceconverting section 322 can carryout known groundwork skipping processingusing a matrix or table, known LOG converting processing (RGB→CMY) orknown output color correcting processing (CMY→CMYK). Abinary-multivalued converting section 323 converts received binarygradation image data to 256-step gradation image data. In contrast, amultivalued-binary converting section 324 converts received 256-stepgradation image data to binary gradation image data by a technique suchas error diffusion processing.

A synthesizing section 327 combines two received image data to generatea piece of image data. To combine two image data, such a method isapplied that uses the average value of the luminance values of thecorresponding pixels to be combined as a composite luminance value, orthat uses the luminance value higher in the luminance level between thecorresponding pixels as the luminance value of the composite pixels. Inaddition, a method of using darker pixels as the composite pixels isalso possible. Furthermore, a method that determines the compositeluminance value according to OR, AND or XOR operation between the pixelsto be combined is also applicable. These combining methods are allwell-known techniques. A thinning section 326 carries out resolutionconversion by thinning out the pixels of the received image data, andgenerates image data with a resolution of ½, ¼, ⅛ and the like of theoriginal resolution. A shifting section 325 gives a margin to thereceived image data or eliminates the margin.

An RIP 328 receives intermediate data generated from PDL code datatransmitted from the PC 40 or the like, and generates (multivalued) bitmap data. A compressing section 329 compresses the bit map data.

<Detailed Description of Scanner Image Processing Section 312 (FIG. 5)>

FIG. 5 shows an internal structure of the scanner image processingsection 312. The following is a detailed description about FIG. 5.

The scanner image processing section 312 receives the image datacomposed of RGB luminance signals each consisting of eight bits. Theluminance signals are converted to standard luminance signalsindependent of the filter colors of a CCD by a masking processingsection 501.

A filter processing section 502 arbitrarily corrects the spatialfrequency of the received image data. This processing section performsarithmetic processing on the received image data using a 7×7 matrix, forexample. Incidentally, in a copying machine or multi function machine,it is possible to select a text mode, a photographic mode or atext/photographic mode as a copy mode by depressing a tab 704 shown inFIG. 7. When the user selects the text mode, the filter processingsection 502 places a filter for text on the entire image data. When theuser selects the photographic mode, it places a filter for photograph onall the image data. In addition, when the user selects thetext/photographic mode, it adaptively switches a filter for each pixelin accordance with a text/photograph decision signal (part of theattribute data) which will be described later. Thus, a decision is madefor each pixel on whether to place the filter for photograph or fortext. As for the filter for photograph, such a coefficient that enablessmoothing of only high frequency components is set to prevent imageroughness. On the other hand, as for the filter for text, such acoefficient that enables considerable edge emphasis is set to sharpenthe text.

A histogram generating section 503 samples the luminance data of theindividual pixels constituting the received image data. Morespecifically, it samples the luminance data in a rectangular regionenclosed from a start point to an end point designated in the mainscanning direction and subscanning direction at a fixed pitch in themain scanning direction and subscanning direction. Then, it generatesthe histogram data from the sampled results. The generated histogramdata can be used to estimate the groundwork level when carrying out thegroundwork skipping processing. An input side gamma correcting section504 converts to luminance data having nonlinear characteristics by usinga table or the like.

A color monochrome decision section 505 decides on whether theindividual pixels constituting the received image data are a chromaticcolor or an achromatic color, and annexes the decision results to theimage data as a color monochrome decision signal (part of the attributedata).

A text/photograph decision section 506 makes a decision on whether eachpixel constituting the image data is a pixel constituting text, a pixelconstituting a halftone dot, a pixel constituting text in halftone dots,or a pixel constituting a solid image from the pixel value of each pixeland pixel values of its neighboring pixels. The pixels that cannot beclassified to any one of them are pixels constituting a white region.Then, the decision results are annexed to the image data as atext/photograph decision signal (part of the attribute data).

A decoding section 507 detects, when the image data output from the datamasking processing section 501 includes code image data, its existence.Then, it extracts information by decoding the code image data detected.

<Detailed Description of Printer Image Processing Section 315 (FIG. 6)>

FIG. 6 is a block diagram showing a flow of the processing carried outin the printer image processing 315. The following is a detaileddescription about FIG. 6.

A groundwork skipping processing section 601 skips (removes) thegroundwork color of the image data by using the histogram generated bythe scanner image processing section 312. A monochrome generatingsection 602 converts the color data to the monochrome data. A Logconverting section 603 carries out luminance level conversion. The Logconverting section 603 converts the input RGB image data to CMY imagedata, for example. An output color correcting section 604 carries outoutput color correction. For example, it converts the input CMY imagedata to CMYK image data by using a table or matrix. An output side gammacorrecting section 605 carries out correction in such a manner that thereflection level after the copy output is proportional to the signalvalue input to the output side gamma correcting section 605. A codeimage synthesizing section 607 combines the code image data generated bythe <encoding processing> which will be described later with the(original document) image data. A halftone correcting section 606performs halftone processing in accordance with the number of graylevels of the output printer section. For example, as for the receivedhigh gradient image data, it carries out digitization to two levels or32 levels.

<Encoding Processing>

The CPU 301 can perform control in such a manner as to generate the codeimage data by carrying out encoding processing of the information readfrom a memory card slot not shown or of the image data read from thescanner section 13.

In the present specification, the code image refers to an image such asa two-dimensional code image and a bar code image, or to an electronicwatermark image generated by electronic watermark technology.

Furthermore, the CPU 301 can perform control in such a manner as totransmit the generated code image data to a code image synthesizingsection 607 in the printer image processing section 315 vi a data busnot shown.

The foregoing control (generating control of the code image andtransmission control) is carried out by executing the programs stored inthe RAM 302.

The above was the description of the controller 11.

<Description of Operating Screen>

FIG. 7 shows an initial screen in the image forming apparatus 10. Thefollowing is a detailed description about FIG. 7.

A region 701 indicates whether the image forming apparatus 10 can acceptcopy or not, and a number of copies set. An original document selectiontab 704 is a tab for selecting the type of the original document. Everytime the tab is depressed, one of the three types of pop-up selectingmenus of the text, photographic and text/photographic modes isdisplayed. A finishing tab 706 is a tab for carrying out settingsassociated with various types of finishing. A duplex setting tab 707 isa tab for carrying out settings associated with duplex reading andduplex printing. A reading mode tab 702 is a tab for selecting a readingmode of the original document. Every time the tab is depressed, one ofthe three types of pop-up selection menus of color/black/auto (ACS) isdisplayed. When the color is selected, color copy is performed, and whenthe black is selected, monochrome copy is carried out. In addition, whenthe ACS is selected, the copy mode is determined according to themonochrome color decision signal described above.

A tab 708 is a tab for selecting processing of decoding and reencodingthe code image. The decoding/reencoding processing will be describedlater.

<Operation at Press of Decoding/Reencoding Processing Tab 708>

FIG. 14 is a flowchart concerning the decoding/reencoding processingexecuted at the time when the user presses the decoding/reencodingprocessing tab 708 as shown in FIG. 7. Referring to FIGS. 8-10, FIG. 14will be described in detail below.

First, before step 1601, if the CPU 301 receives that the user pressesthe decoding/reencoding processing tab 708, the CPU 301 has theoperating section 12 display the screen as shown in FIG. 8.

In FIG. 8, a subdialogue 801 is displayed on the screen as shown in FIG.7. The CPU 301 uses the subdialogue 801 to receive the user instructionon how to handle the original document, the reading of which is startedat step 1601. The subdialogue as shown in FIG. 8 will be describedbelow.

As for an original document image processing method instructing section802, the CPU 301 uses it to receive the user instruction on how tohandle the code image contained in the original document image (orinformation after decoding obtained by decoding the code image) and anordinary image other than the code image.

An original document image processing method instructing section 803 isused to show a prognostic diagram of a processing result or a schematicdiagram of the processing result that is obtained when processing theoriginal document image in accordance with the processing method of theoriginal document image designated through the original document imageprocessing method instructing section 802.

An original document image processing content approving section 806 isused for notifying the image forming apparatus that the user approvesthe processing content of the original document image.

FIG. 9 is a diagram showing an example of the screen displayed by theCPU 301 when the CPU 301 receives that the user presses the originaldocument image processing method instructing section 802 on the screenas shown in FIG. 8. The following is a detailed description about FIG.9.

When the CPU 301 receives that the user presses the original documentimage processing method instructing section 802, the CPU 301 displayspossible choices of the processing method of the original documentimage, and displays an original document image processing methodselecting section 901 for receiving an input from the user. In thisexample, four choices are displayed, each of which shows that itexecutes the following processing.

“Box Saving Both Ordinary Image And Code Image Without Change”: Boxsaves the original document image as it is. Here, the original documentimage refers to both the ordinary image and code image.

“Box Saving Only Information After Decoding”: Extracts only the codeimage from the original document image, and box saves the informationobtained by decoding the code image.

“Box Saving Only Ordinary Image”: Box saves only the ordinary image inthe original document image.

“Box Saving Ordinary Image And Information After Decoding Dividedly(Separately)”: Box saves the information obtained by decoding the codeimage in the original document image and the ordinary image in theoriginal document image with establishing correspondence between them.

FIG. 10 is a diagram showing an example of the screen the CPU 301displays when the CPU 301 receives from the original document imageprocessing method selecting section 901 that the user selects the “boxsaving only ordinary image” on the screen as shown in FIG. 9. Thisscreen example shows what kind of image (processing result) is obtainedwhen “box saving only ordinary image” is selected. However, since thereading of the original document has not yet been started, only aschematic diagram of the processing result is shown rather than theprocessing result itself to be precise.

The following is a detailed description about FIG. 10.

In the original document image processing result display section 803 inthe screen example as shown in FIG. 10, thumbnail images (consisting ofonly the ordinary images) 1004 a, 1004 b, 1004 c and 1004 d of theimages obtained by removing the code images from the original documentimages are displayed. Thus, FIG. 10 shows a screen example resultingfrom the transition when the CPU 301 receives that the user selects “boxsaving only ordinary image” using FIG. 9. It goes without saying thatwhen the CPU 301 receives that the user selects another originaldocument image processing method using FIG. 9, the screen correspondingto the selection is displayed.

When the start button is pressed after completing the foregoingselection, the CPU 301 retains the selection the user instructs usingthe screens shown in FIG. 7-FIG. 9 in the RAM 302, and shifts theprocessing to step 1601.

At step 1601 shown in FIG. 14, the CPU 301 controls in such a manner asto deliver the original document data read by the scanner section 13 tothe scanner image processing section 312 via the scanner I/F 311 as theimage data.

At step 1602, the scanner image processing section 312 performs theprocessing as shown in FIG. 5 on the image data, and generates new imagedata and attribute data. In addition, it annexes the attribute data tothe image data. Furthermore, the decoding section 507 in the scannerimage processing section 312 detects, when the code image data ispresent, its position. Then, it decodes the detected code image data toobtain its information, and delivers the acquired information afterdecoding to the RAM 302 via a data bus not shown. Receiving theinformation, the RAM 302 stores the information after decoding. Aftercompleting the processing at step 1602, the processings at step 1608 andat step 1603 are started simultaneously.

At step 1603, the compressing section 313 divides the new image datagenerated by the scanner image processing section 312 to blocks eachconsisting of 32 pixels×32 pixels to generate the tile data.Furthermore, the compressing section 313 compresses the image dataconsisting of the plurality of tile data.

At step 1604, the CPU 301 controls in such a manner as to deliver theimage data compressed by the compressing section 313 to the RAM 302 tobe stored.

At step 1605, the CPU 301 makes a decision as to the selection (retainedin the RAM 302), the input of which the CPU 301 receives from the userat step 1601.

Then, if the CPU 301 makes a decision that the choice A “box saving bothordinary image and code image without change” is selected at step 1605,the CPU 301 shifts the processing to step 1606. Thus, at this step 1606,the CPU 301 box saves the original document image as it is. Morespecifically, the CPU 301 controls in such a manner as to store theoriginal document image which has been compressed and stored in the RAM302 to the HDD 304. Furthermore, the CPU 301 deletes the informationafter decoding which is stored in the RAM 302 without storing thisinformation in the HDD 304.

At step 1605, unless the CPU 301 makes a decision that the choice A isselected, the CPU 301 shifts the processing to step 1610.

At step 1610, if the CPU 301 makes a decision that the choice B “boxsaving only information after decoding” is selected, the CPU 301 shiftsthe processing to step 1607. At this step 1607, the CPU 301 deletes theoriginal document image. More specifically, the CPU 301 deletes theoriginal document image compressed by the RAM 302 and stored in the RAM302 without storing the original document image in the HDD 304. On theother hand, the CPU 301 stores in the HDD 304 the information afterdecoding stored in the RAM 302.

In addition, if the CPU 301 makes a decision that the choice C “boxsaving only ordinary image” is selected, the CPU 301 shifts theprocessing to step 1608. At this step 1608, the CPU 301 box saves theordinary image portion of the original document image. The concreteprocessing is as follows.

At step 1610, unless the CPU 301 makes a decision that the choice B isselected, the CPU 301 shifts the processing to step 1620.

First, at step 1620, the CPU 301 controls in such a manner as to deletethe information after decoding stored in the RAM 302 without storing itin the HDD 304. After that, the CPU 301 temporarily decompresses theoriginal document image compressed by the RAM 302 and stored in the RAM302. Subsequently, the CPU 301 acquires the position of the code imagedetected by the decoding section 507, and paints white the portion ofthe code image in the original document image after the decompression.Thus, only the ordinary image is obtained from the original documentimage. Finally, the CPU 301 controls in such a manner as to compress theordinary image again and to store it in the RAM 302, and then to savethe ordinary image stored in the RAM 302 in the HDD 304.

At step 1620, unless the CPU 301 makes a decision that the choice C isselected, the CPU 301 shifts the processing to step 1609.

At step 1609, the CPU 301 selects the choice D “box saving ordinaryimage and information after decoding dividedly”. At step 1609, the CPU301 not only box saves the ordinary image portion of the originaldocument image, but also box saves the information after decodingobtained from the code image in the original document image. Theconcrete processing is as follows.

First, the CPU 301 controls in such a manner as to store the informationafter decoding stored in the RAM 302 in the HDD 304. After that, the CPU301 temporarily decompresses the original document image compressed bythe RAM 302 and stored in the RAM 302. Subsequently, the CPU 301acquires the position of the code image detected by the decoding section507, and paints white the portion of the code image in the originaldocument image after the decompression. Thus, only the ordinary image isobtained from the original document image. Finally, the CPU 301 controlsin such a manner as to compress the ordinary image again and to store itin the RAM 302, and then to save the ordinary image stored in the RAM302 in the HDD 304.

Embodiment 2

In the embodiment 1, before starting scanning, the CPU 301 receives theselection of the user who selects one of the four choices. In contrastwith this, in the embodiment 2, after starting scanning, the CPU 301receives the selection of the user who selects one of the four choices.

The image forming apparatus 10 or 20 receives, at the start of its useby the user, the input of the user ID and password via the operatingsection 12 or 22, or the log-in operation using an IC card or the like.The user authentication means of the image forming apparatus 10 or 20identifies the user. In addition, the CPU 301 stores the user ID that isinput and approved in the log-in operation process in the RAM 302.Furthermore, as will be described in detail below, the CPU 301 receivesthe contents of the user authority, and displays the display screen inaccordance with the contents of the user authority.

FIG. 18 is a flowchart illustrating the processing in the embodiment 2.Referring to FIG. 18, the embodiment 2 will be described in detailbelow.

At step 2000, the CPU 301 controls in such a manner as to shift theprocessing to step 2001 if the CPU 301 detects a press of the startbutton after the box is selected.

At step 2001, the CPU 301 controls in such a manner as to deliver theoriginal document read by the scanner section 13 to the scanner imageprocessing section 312 via the scanner I/F 311 as the image data.

At step 2002, the scanner image processing section 312 performs theprocessing as shown in FIG. 5 on the image data to generate the newimage data and the attribute data. In addition, it annexes the attributedata to the image data. Furthermore, the decoding section 507 in thescanner image processing section 312 detects, when the code image datais present, its position. Then, it decodes the code image data detectedby the scanner image processing section 312 to obtain the information.The CPU 301 delivers the information after decoding obtained to the RAM302 using the data bus not shown to be stored.

Subsequently, at step 2003, the compressing section 313 divides the newimage data generated by the scanner image processing section 312 toblocks each consisting of 32 pixels×32 pixels to generate the tile data.Furthermore, the compressing section 313 compresses the image dataconsisting of the plurality of tile data.

At step 2004, the CPU 301 controls in such a manner as to deliver theimage data compressed by the compressing section 313 to the RAM 302 tobe stored.

At step 2005, the CPU 301 accesses the information after decoding whichis stored in the RAM 302 at step 2002, and makes a decision as towhether the information after decoding includes information A“information specifying the user who can access the information afterdecoding”. If the CPU 301 makes a decision that the information afterdecoding includes the information A, the CPU 301 shifts the processingto step 2006. In contrast, unless the CPU 301 makes a decision that theinformation after decoding includes the information A, the CPU 301shifts the processing to step 2012.

At step 2006, according to whether the “information specifying the userwho can access the information after decoding” includes the log-in useror not, the CPU 301 prepares a selectable option list about theprocessing method of the original document image. More specifically, thefollowing processing is carried out.

First, according to the decision result at step 2006, the CPU 301 makesa decision as to whether the current log-in user is a “user authorizedto access the information after decoding”.

Then, if the CPU 301 makes a decision that the log-in user is “userauthorized to access the information after decoding”, the CPU 301prepares the option list in such a manner that it contains an item aboutthe information after decoding.

In the present specification, the term “item about information afterdecoding” refers to an indication item at least for the storage of the“information after decoding” such as “boxing only ordinary image” and“box saving ordinary image and information after decoding dividedly(separately)” of FIG. 9.

On the other hand, unless the CPU 301 makes a decision that the log-inuser is a “user authorized to access the information after decoding”,the CPU 301 prepares the option list in such a manner as not to includethe item about the information after decoding. The CPU 301 controls insuch a manner as to store the option list thus prepared in the RAM 302,and to display it on the operating section 12 thereafter.

FIG. 11 is a diagram showing an example of the screen displayed on theoperating section 12. The following is a detailed description about FIG.11.

The CPU 301 displays the screen when the log-in user (user operating theimage forming apparatus) does not have the access right to theinformation after decoding.

Since the user does not have the access right to the information in thescreen shown in FIG. 11, the original document image processing methodselecting section 1201 does not include the choice of the informationafter decoding. Accordingly, the screen shown in FIG. 11 displays onlythe choices “box only ordinary image” and “box both ordinary image andcode image”.

If the user selects one of the items in the option list on the operatingsection 12, the CPU 301 shifts the processing to step 2007.

At step 2007, the CPU 301 makes a decision as to the selection, theinput of which the CPU 301 receives from the user.

Then, if the CPU 301 makes a decision that the choice A “box saving bothordinary image and code image without change” is selected at step 2007,the CPU 301 shifts the processing to step 2008. Thus, at this step 2008,the CPU 301 box saves the original document image as it is. Morespecifically, the CPU 301 controls in such a manner as to store theoriginal document image which has been compressed and stored in the RAM302 to the HDD 304. Furthermore, the CPU 301 deletes the informationafter decoding which is stored in the RAM 302 without storing theinformation in the HDD 304.

At step 2007, unless the CPU 301 makes a decision that the choice A isselected, the CPU 301 shifts the processing to step 2020.

At step 2020, if the CPU 301 makes a decision that the choice B “boxsaving only information after decoding” is selected, the CPU 301 shiftsthe processing to step 2009. At this step 2009, the CPU 301 deletes theoriginal document image. More specifically, the CPU 301 deletes theoriginal document image compressed by the RAM 302 and stored in the RAM302 without storing the original document image in the HDD 304. On theother hand, the CPU 301 stores in the HDD 304 the information afterdecoding stored in the RAM 302.

At step 2020, unless the CPU 301 makes a decision that the choice B isselected, the CPU 301 shifts the processing to step 2021.

At step 2021, if the CPU 301 makes a decision that the choice C “boxsaving only ordinary image” is selected, the CPU 301 shifts theprocessing to step 2010. At this step 2010, the CPU 301 box saves theordinary image portion of the original document image. The concreteprocessing is as follows.

First, the CPU 301 controls in such a manner as to delete theinformation after decoding stored in the RAM 302 without storing it inthe HDD 304. After that, the CPU 301 temporarily decompresses theoriginal document image compressed by the RAM 302 and stored in the RAM302. Subsequently, the CPU 301 acquires the position of the code imagedetected by the decoding section 507, and paints white the portion ofthe code image in the original document image after the decompression.Thus, only the ordinary image is obtained from the original documentimage. Finally, the CPU 301 controls in such a manner as to compress theordinary image again and to store it in the RAM 302, and then to savethe ordinary image stored in the RAM 302 in the HDD 304.

At step 2021, unless the CPU 301 makes a decision that the choice C isselected, the CPU 301 shifts the processing to step 2011.

At step 2011, the CPU 301 selects the choice D “box saving ordinaryimage and information after decoding dividedly”. At step 2011, the CPU301 not only box saves the ordinary image portion of the originaldocument image, but also box saves the information after decodingobtained from the code image in the original document image. Theconcrete processing is as follows.

First, the CPU 301 controls in such a manner as to store the informationafter decoding stored in the RAM 302 in the HDD 304. After that, the CPU301 temporarily decompresses the original document image compressed bythe RAM 302 and stored in the RAM 302. Subsequently, the CPU 301acquires the position of the code image detected by the decoding section507, and paints white the portion of the code image in the originaldocument image after the decompression. Thus, only the ordinary image isobtained from the original document image. Finally, the CPU 301 controlsin such a manner as to compress the ordinary image again and to store itin the RAM 302, and then to save the ordinary image stored in the RAM302 in the HDD 304.

At step 2012, the CPU 301 executes, if the information after decodingcontains any instruction, the processing in conformity with theinstruction. Unless it contains any instruction, the CPU 301 controls insuch a manner as to transfer the original document image (ordinary imageand code image) from the RAM 302 to the HDD 304.

As described above, the foregoing embodiments have only four choices.The number of choices in the present invention, however, is not limitedto four, but can be five, six or more.

For example, such a choice is allowed that divides the original documentimage (ordinary image and code image) and the information afterdecoding.

The term “to divide” in the present embodiment refers to separating thefiles and establishing associations between the files.

In the case where the another choice that divides the original documentimage and the information after decoding is added to the presentembodiment, the operation becomes as follows. At step 2011 in theflowchart as shown in FIG. 18, unless the CPU 301 selects the choice D,the CPU 301 selects the additional choice.

In addition, the code image contained in the original document image hasthe access right information about the access right to the informationthat has been the source of the code image (that is, the informationafter decoding) as metadata.

Embodiment 3

Although the description so far is made as to the embodiments thatcomplete the decoding operation of the information within the imageforming apparatus, a method is also conceivable which carries out theprocessing in conjunction with an external apparatus or server. Inparticular, it is effective to make an inquiry at an external policyserver about the confirmation of the access right to the information, orto make request to an external server for the processing unless theimage forming apparatus itself can perform decoding or make images fromthe information.

FIG. 12 is a diagram showing the image forming apparatus when itexecutes the processing in conjunction with the external apparatus orserver. The following is a detailed description about FIG. 12.

Compared with FIG. 1, FIG. 12 has an image creating server 1401 and apolicy server 1402 added thereto.

The image creating server 1401 is a server that receives information,and draws an output image visually confirmable by a person (for example,if the received information is data of a spreadsheet program, the outputimage is a table image: generally, the processing is referred to asrendering). The image drawing server is used for rendering instead ofthe image forming apparatus without the capacity of rendering theinformation after decoding the code image.

The policy server 1402 is a server for managing the access right to eachdocument within the image processing system, which document belongs toeach user recorded in the image processing system. As for implementationmethods of the policy server, there are various methods. In addition,the policy server 1402 in the present embodiment receives a document IDfor uniquely identifying the document and a user ID via a network, andmakes a decision as to whether the “user identified by the user ID” canaccess the “document identified by the document ID”. Then, it sends backthe decision result via the network again.

FIG. 13 is a diagram showing an example of the screen when the CPU 301receives from the user the selection of the choice “box only informationafter decoding” by the user. The following is a detailed descriptionabout FIG. 13.

The term “box information after decoding” refers to storing theinformation obtained by decoding the code image contained in theoriginal document in the HDD 304. For example, when the informationafter decoding is the data of the spreadsheet program, a printout is atable just as in the case where the spreadsheet program prints theinformation after decoding.

Generally, the image forming apparatus cannot convert (render) all theinformation of any format to a print image. Here, assume that theinformation after decoding is the data of the spreadsheet program, andthat the image forming apparatus cannot convert the data to the printimage (that the spreadsheet program is not installed in a multifunctionmachine).

In such a case, the CPU 301 transmits the information to the imagecreating server 1401 which carries out imaging (rendering) operation andcreates thumbnail images, and displays the results on the originaldocument image processing result display section 803.

The embodiment 3 executes the processing as shown in FIG. 15 instead ofthe processing at step 2006 of FIG. 18 of the embodiment 2. Theprocessing shown in FIG. 15 will be described in detail below.

At step 1701, the CPU 301 extracts the information which is decoded atstep 1602 and stored in the RAM 302, and transmits the information tothe image creating server 1401 with controlling the network I/F 306. Theimage creating server 1401 renders the information received, createsthumbnail images from the result, and sends them back to the imageforming apparatus.

At the next step 1702, controlling the network I/F 306, the CPU 301receives the thumbnail images sent back from the image creating server1401, and stores them in the RAM 302. As for the thumbnails stored inthe RAM 302, the CPU 301 refers to them when the CPU 301 displays thethumbnail images on the original document image processing resultdisplay section 803 with controlling the operating section I/F 305 atstep 1102.

At the next step 1703, the CPU 301 creates the window frame data of thesubdialogue 801 on the RAM 302, and displays the data on the screen ofthe subdialogue 801 of the operating section 12 with controlling theoperating section I/F 305. Here, the CPU 301 controls in such a manneras to select the first item in the option list as the initial value ofthe choices of the original document image processing method instructingsection 802.

At the next step 1704, the CPU 301 updates the display on the originaldocument image processing result display section 803.

At the next step 1705, the CPU 301 waits for an input of the user.

At the next step 1706, the CPU 301 makes a decision as to whether theoperation the user inputs at step 1703 is a press of the originaldocument image processing content approving section 806 or not. If it isa press of the original document image processing content approvingsection 806, the CPU 301 records it in the RAM 302, and shifts theprocessing to step 1707.

At step 1707, controlling the operating section I/F 305, the CPU 301deletes the subdialogue 801.

On the other hand, unless the CPU 301 makes a decision at step 1706 thatthe operation the user inputs at step 1703 is an appropriate one ofpressing the original document image processing content approvingsection 806, the user input is a change of the original documentprocessing method by a press of the original document image processingmethod instructing section 802. Accordingly, the CPU 301 returns theprocessing to step 1704, and updates the display of the originaldocument image processing result display section 803.

Furthermore, as to whether the user operating the image formingapparatus has the access right to the information obtained by decodingthe code image or not, it is possible to make an inquiry at the policyserver 1402 outside the image forming apparatus.

The embodiment 3 executes the processing as shown in FIG. 16 in place ofthe processing at step 2005 of FIG. 18 of the embodiment 2. Thefollowing is a detailed description about FIG. 16.

Incidentally, it is assumed in the present embodiment that theinformation after decoding includes, instead of the “informationspecifying the user who can access the information after decoding”, theinformation for uniquely identifying the information after decoding(such as the file name of the information after decoding).

Thus, even at the step previous to step 2006 that will be describedbelow, processing slightly different from that of the embodiment 2 isexecuted.

More specifically, although the CPU 301 makes a decision in theembodiment 2 as to whether the information A is contained or not, theCPU 301 makes a decision in the embodiment 3 as to whether theinformation for uniquely identifying the information after decoding(such as the file name of the information after decoding) is containedor not. As a result of the decision, if it is contained, the CPU 301shifts the processing to step 2006, and unless it is contained, shiftsthe processing to step 2012.

At step 1801 in FIG. 16, the CPU 301 accesses the information afterdecoding which is stored in the RAM 302 at step 2002, and obtains theinformation for uniquely identifying the information after decoding(such as the file name of the information after decoding). In thepresent specification, the information for uniquely identifyingparticular information is referred to as an information ID.

At the next step 1802, the CPU 301 obtains the user ID (log-in user ID)stored in the RAM 302 at the time when the user starts using the imageforming apparatus. Then, the CPU 301 transmits it to the policy server1402 together with the ID of the information after decoding the CPU 301obtains at the preceding step 1801. The policy server 1402 receives thedocument ID and the user ID, makes a decision as to whether the useridentified by the user ID can access the document identified by thedocument ID in accordance with a table within the policy server 1402,and sends back the decision result. The CPU 301 receives the reply fromthe policy server 1402 with controlling the network I/F 306.

At the next step 1803, the CPU 301 makes a decision as to whether theresult received at the foregoing step 1802 is accessible or not. Ifaccessible, the CPU 301 advances the processing to step 1804.

At step 1804, the CPU 301 places the item about the information afterdecoding in the selectable option list about the processing method ofthe original document image, and stores the option list in the RAM 302.The option list stored in the RAM 302 is referred to at step 1303 as theoption list of the original document image processing method instructingsection 802.

On the other hand, if the decision result at step 1803 indicates thatthe user cannot access the information after decoding, the CPU 301 skipsthe processing at step 1804, and completes the processing.

In the foregoing embodiments, the box saved information can betransmitted and output via a network or fax. In addition, a subject tobe box saved can undergo ordinary duplication as well as box saving. Inthis case, the duplication can be performed regardless of the presenceor absence of the information after decoding to be duplicated.

Other Embodiments

Although the foregoing embodiments are described byway of example thatstores various pieces of information and images in the HDD within theimage forming apparatus, it goes without saying that they can be outputto a storage device separated from the image forming apparatus, and bestored in the storage device.

Although the foregoing embodiments are described by way of example thatstores various pieces of information and images in the HDD within theimage forming apparatus, it goes without saying that they can be output(that is, printed) on a sheet rather than stored.

The object of the present invention can be achieved by causing the imageprocessing apparatus or the computer (or CPU or MPU) of the imageprocessing apparatus to read a program for implementing the proceduresof the flowcharts described in the embodiments from a storage mediumstoring the program. In this case, the program code itself read from thestorage medium implements the functions of the foregoing embodiments.Thus, the program code and the storage medium that stores the programcode fall within the scope of the present invention.

As the storage medium for supplying the program code, it is possible touse a floppy (registered trademark) disk, hard disk, optical disk,magneto-optical disk, CD-ROM, CD-R, magnetic tape, involatile memorycard, and ROM.

The functions of the foregoing embodiments can be implemented byexecuting the program code the computer reads. In addition, thefunctions of the foregoing embodiments can be implemented by theprocessing carried out by causing the OS (operating system), whichoperates on the computer in accordance with the instructions of theprogram code, to execute part or all of the actual processing.

Furthermore, the program code read from the storage medium can bewritten in a memory provided in a function expansion board inserted intothe computer or in a function expansion unit connected to the computer.After that, on a basis of the instructions of the program code, the CPUprovided in the function expansion board or function expansion unit canexecute part or all of the actual processing, thereby being able toimplement the function of the foregoing embodiments.

FIG. 17 is a diagram showing a memory map of a CD-ROM, an example of thestorage medium. The following is a detailed description about FIG. 17.

The area [9999], which stores directory information, indicates thelocation of the area [9998] that stores an installation programthereafter, and the location of the area [9997] that stores the controlprogram of the image forming apparatus. The area [9998] is the area thatstores the installation program. The area [9997] is the area that storesthe control program of the image forming apparatuses 10, 20, and 30. Toinstall the control program of the image forming apparatus in accordancewith the present invention in the image forming apparatuses 10, 20, and30, the installation program stored in the area [9998] that stores theinstallation program is loaded into the image processing apparatus.Then, the CPU 301 executes the installation program. Subsequently, theinstallation program executed by the CPU 301 reads the control programof the image forming apparatus from the area [9997] that stores theimage forming apparatus control program. Then, the CPU 301 rewrites thecontents of the ROM. 303 or installs it in the HDD 304. In this case,the ROM 303 must be a rewritable ROM such as a flash ROM rather than aplain mask ROM.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2007-074785, filed Mar. 22, 2007, which is hereby incorporated byreference herein in its entirety.

1. An image processing apparatus having a first judging unit configuredto judge whether a user instructs output of an original image orinformation extracted from a code image of an original image(S2007,S2020,S2021), comprising: an extracting unit configured toextract information from a code image of an original image (S2002); asecond judging unit configured to judge, according to the extractedinformation, whether the extracted information is accessible (S2006);and an outputting unit configured to output the original image in a casewhere the first judging unit has judged that a user instructs output ofan original image (S2008), configured to output the extractedinformation in a case where the first judging unit has judged that auser instructs output of information extracted from a code image of anoriginal image and the second judging unit has judged that the extractedinformation is accessible (S2020), configured not to output theextracted information in a case where the first judging unit has judgedthat a user instructs output of information extracted from a code imageof an original image and the second judging unit has judged that theextracted information is not accessible (S2006).
 2. An image processingapparatus comprising: an extracting unit configured to extractinformation from a code image of an original image (S2002); a judgingunit configured to judge, according to the extracted information,whether the extracted information is accessible (S2006); and anoutputting unit configured to output the extracted information in a casewhere the judging unit has judged that the extracted information isaccessible (S2009).
 3. The image processing apparatus according to claim2 further comprising: an image processing unit configured to perform animage processing to the original image to obtain a processed image(S2002); wherein the outputted original image by the outputting unit isthe processed image.
 4. The image processing apparatus according toclaim 2, wherein the outputting unit outputs the original image to ahard disk drive.
 5. The image processing apparatus according to claim 2,wherein the outputting unit outputs the extracted information to a harddisk drive.
 6. The image processing apparatus according to claim 2 is acomputer.
 7. The image processing apparatus according to claim 2,wherein the original image is a scanned image.